
package com.insigma.business.qrcode.welfare.service;




import com.insigma.business.qrcode.soldier.entity.DataStatsCDO;
import com.insigma.business.qrcode.welfare.dto.ScanCodeRecordBSearcher;
import com.insigma.business.qrcode.welfare.entity.ScanCodeRecordDO;

import java.util.Date;
import java.util.List;


public interface ScanCodeRecordService {

    
    List<ScanCodeRecordDO> search(final ScanCodeRecordBSearcher innerSearcher);

    
    ScanCodeRecordDO get(final String id);

    
    Integer insert(final ScanCodeRecordDO scanCodeRecord);

    
    Integer update(final ScanCodeRecordDO scanCodeRecord);

    
    Integer delete(final String id, final String modifierType, final String modifierId);

    
    List<ScanCodeRecordDO> searchMerchantScanRecord(ScanCodeRecordBSearcher searcher);

    
    List<ScanCodeRecordDO> searchMoneyNotNull(final ScanCodeRecordBSearcher innerSearcher);

    
    int countMerchantCountRecord(ScanCodeRecordBSearcher searcher);

    Integer countKsme();

    Integer countKsme(String adminAreaCode);

    Integer countCjxfScan();

    Integer countCjxfScan(String adminAreaCode);

    Double countKsmeMoney();

    Double countKsmeMoney(String adminAreaCode);

    List<DataStatsCDO> countCjxfScanAreaMap(String adminAreaCode);

    List<DataStatsCDO> countKsmeScanAreaMap(String adminAreaCode);

    Integer countCjxfScanBetweenTime(String adminAreaCode, Date morning, Date timesNight);

    Integer countByBizName(String name);

    Integer countByBizNameOfHospital(String adminAreaCode, String bizName);

    Integer countByBizNameAndDate(String name, Date morning, Date timesNight);

    List<ScanCodeRecordDO> searchHospitalRecord(ScanCodeRecordBSearcher scanCodeRecordBSearcher);

    Integer countByTypeAndBizName(String type, String bizName);

    Integer groupCountByTypeAndBizName(String type, String bizName);

    Integer countByTypeAndBizNameAndBizTime(String type, String bizName, String month);

    Integer countHospital();

    Integer countHospitalByBizTime(String month);

    List<DataStatsCDO> groupHospital(String adminAreaCode);
}
